﻿// 4501. 收集卡牌.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4504/

某干脆面厂商在每包面中都放置有一张武将卡。

武将卡共分为 n
 种，编号 1∼n
。

当集齐 1∼n
 号武将卡各一张时，就可以拿它们去换大奖。

为了换大奖，李华先后购买了 m
 包该品牌的干脆面。

其中第 i
 包面中包含的武将卡的编号为 ai
。

每当买完一包面，得到该面赠送的武将卡后，李华都会审视一遍自己手中的全部卡牌。

如果此时自己现有的卡牌能够凑齐全部武将卡，那么他就会立即将每种武将卡都拿出一张，并将拿出的卡牌寄给厂商，用来换奖。

请你分析李华购买干脆面的整个过程并计算购买完每一包面后，李华能否凑齐全部武将卡用来换奖。

注意，每次换奖都需要消耗卡牌，消耗掉的卡牌就不属于他了。

输入格式
第一行包含两个整数 n,m
。

第二行包含 m
 个整数 a1,a2,…,am
。

输出格式
输出一个长度为 m
 的 01
 字符串，如果买完第 i
 包面后，李华能够凑齐全部武将卡用来换奖，则第 i
 位字符为 1
，否则为 0
。

数据范围
前 5
 个测试点满足 1≤n,m≤20
。
所有测试点满足 1≤n,m≤105
，1≤ai≤n
。

输入样例1：
3 11
2 3 1 2 2 2 3 2 2 3 1
输出样例1：
00100000001
输入样例2：
4 8
4 1 3 3 2 3 3 3
输出样例2：
00001000
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 